# 图表间记录函数示例

## Top 函数示例

这些示例是用顶部函数做出的，但可能以相似的方式应用在底部，第一个及最后一个函数上。但请注意第一个及最后一个函数只与透视表有关。

示例 1:

研究以下的垂直表格，在一个单维表中描述顶部函数的使用：

![Example table image of one dimensional straight table with top function](https://help.qlik.com/zh-CN/qlikview/September2026/Subsystems/Client/Content/Resources/Images/ui_gen_InterRecord4.png)

示例表格：带 toptop 函数的一个维度垂直表

| Month | sum(Val) | top(sum(Val)) | sum(Val) / top(sum(Val)) |
| --- | --- | --- | --- |
| - | 21 | 3 | 700% |
| 1 | 3 | 3 | 100% |
| 2 | 7 | 3 | 233% |
| 3 | 11 | 3 | 367% |

在单维度情况下，顶部函数将总是指表格的首个数据行（不包括总和行）。

注意使用顶部函数的表达式将会在总和行中被正确评估，因为总和与特定的列片段有明确的关系，在本例中与整个列。

示例 2:

以下是一个主要在字段组排序的两维垂直表格。

![Example table image of two dimensional straight table with total qualifier](https://help.qlik.com/zh-CN/qlikview/September2026/Subsystems/Client/Content/Resources/Images/ui_gen_InterRecord6.png)

示例表格：带 total total 限定符的两个维度垂直表

| Month | Grp | sum(Val) | top(sum(Val)) | top(total sum(Val)) |
| --- | --- | --- | --- | --- |
| - | - | 21 | - | 1 |
| 1 | A | 1 | 1 | 1 |
| 2 | A | 3 | 1 | 1 |
| 3 | A | 5 | 1 | 1 |
| 1 | B | 2 | 2 | 1 |
| 2 | B | 4 | 2 | 1 |
| 3 | B | 6 | 2 | 1 |

没有合计限定符的顶部函数将现在返回在最内部排序组内的顶部行进行评估的表达式（在本例中为 Grp 维度）。如 Grp = A 将会返回一个值，如 Grp = B 也将返回一个。

通过在多维度的情况下使用 total 限定符，您可以再一次参考表格的绝对顶部行，同时所有行返回相同的值。当然表达式将会为横跨整个列的列片断被评估。

没有 total 限定符并使用顶部函数的表达式将会在合计行中评估为空值，因为它无法清楚地与特定列片断关联。

我们不会将以上垂直表转换成透视表，同时所有合计都被激活。

![Example table image of two dimensional pivot table with total qualifier](https://help.qlik.com/zh-CN/qlikview/September2026/Subsystems/Client/Content/Resources/Images/ui_gen_InterRecord7.png)

示例表格：带 total total 限定符的两个维度透视表

| Month | Grp | sum(Val) | top(sum(Val)) | top(total sum(Val)) |
| --- | --- | --- | --- | --- |
| 1 | A | 1 | 1 | 1 |
| 1 | B | 2 | 1 | 1 |
| 1 | 合计 | 3 | 1 | - |
| 2 | A | 3 | 3 | 1 |
| 2 | B | 4 | 3 | 1 |
| 2 | 合计 | 7 | 3 | - |
| 3 | A | 5 | 5 | 1 |
| 3 | B | 6 | 5 | 1 |
| 3 | 合计 | 11 | 5 | - |
| 合计 | - | 21 | - | 1 |

没有 total 限定符并使用顶部函数的表达式将会在合计行中评估为空值，因为它无法清楚地与特定列片断关联。然而，所有部分合计都将因每一个列片断而被评估。

使用合计限定符的表达式在部分合计中将会缺值，但将会在总和行中返回一个值。

示例 3:

研究以下在字段 Grp 基础上排序的垂直表：

![Example table image of Two dimensional straight table sorted by Grp](https://help.qlik.com/zh-CN/qlikview/September2026/Subsystems/Client/Content/Resources/Images/ui_gen_InterRecord8.png)

示例表格：按 GrpGrp 排序的两个维度垂直表

| Month | Grp | sum(Val) | top(sum(Val)) | sum(Val) / top(sum(Val)) |
| --- | --- | --- | --- | --- |
| - | - | 21 | - | - |
| 1 | A | 1 | 1 | 100% |
| 2 | A | 3 | 1 | 300% |
| 3 | A | 5 | 1 | 500% |
| 1 | B | 2 | 2 | 100% |
| 2 | B | 4 | 2 | 200% |
| 3 | B | 6 | 2 | 300% |

通过改变字段间的排序顺序，我们可以继续，因此图表才能主要在字段“月份”基础上排序。表格现在将看起来象这样：

![Example table image of Two dimensional straight table sorted by Month](https://help.qlik.com/zh-CN/qlikview/September2026/Subsystems/Client/Content/Resources/Images/ui_gen_InterRecord9.png)

示例表格：按 MonthMonth 排序的两个维度垂直表

| Month | Grp | sum(Val) | top(sum(Val)) | sum(Val) / top(sum(Val)) |
| --- | --- | --- | --- | --- |
| - | - | 21 | - | - |
| 1 | A | 1 | 1 | 100% |
| 1 | B | 2 | 1 | 200% |
| 2 | A | 3 | 3 | 100% |
| 2 | B | 4 | 3 | 133% |
| 3 | A | 5 | 5 | 100% |
| 3 | B | 6 | 5 | 120% |

## Above 函数示例

这些示例是用上部函数做出的，但可能以相似的方式应用在下部，之前及之后函数上。但请注意之前及之后的函数只与透视表有关。

示例 4:

研究以下的垂直表格，在一个单维表中描述上部函数的使用：

![Example table image of one dimensional straight table with Above function](https://help.qlik.com/zh-CN/qlikview/September2026/Subsystems/Client/Content/Resources/Images/ui_gen_InterRecord11.png)

示例表格：带 Above Above 函数的一个维度垂直表

| Month | sum(Val) | above(sum(Val)) | sum(Val) / above(sum(Val)) |
| --- | --- | --- | --- |
| - | 21 | - | - |
| 1 | 3 | - | - |
| 2 | 7 | 3 | 233% |
| 3 | 11 | 7 | 157% |

第三列显示表达式的在当前行的上一行评估的 sum(val)，它可以通过与第二列的 sum(val) 相比较来进行确认。上部函数在第一行反回空值，因为没有在其上评估表达式的行。上部函数总是在合计行返回空值。

第四列展示了此函数的最典型的用法，如计算不同时间段之间的不同。

示例 5:

研究以下的两维透视表：

![Example table image of two dimension pivot table and the effect of total qualifier](https://help.qlik.com/zh-CN/qlikview/September2026/Subsystems/Client/Content/Resources/Images/ui_gen_InterRecord12.png)

示例表格：带 total total 限定符的两个维度透视表

| Grp | Month | sum(Val) | above(sum(Val)) | above(total sum(Val)) |
| --- | --- | --- | --- | --- |
| A | 1 | 1 | - | - |
| A | 2 | 3 | 1 | 1 |
| A | 3 | 5 | 3 | 3 |
| A | 合计 | 9 | - | - |
| B | 1 | 2 | - | 5 |
| B | 2 | 4 | 2 | 2 |
| B | 3 | 6 | 4 | 4 |
| B | 合计 | 12 | - | - |
| 合计 | - | 21 | - | - |

没有 total 限定符（第三列）的上部函数将只在每个排序组内起作用。在每一列片断的项行将返回一个空值。

当添加了一个 total 限定符（第四列）整个列将会认定为一列片断。只有顶行会返回空值。所有合计行都将被忽略，并返回空值。

## RowNo 和 NoOfRows 函数示例

此示例是用 RowNo 和 NoOfRows 函数制作，但是可以用类似的方法应用至 ColumnNo 和 NoOfColumns 函数。但请注意 ColumnNo 及 NoOfColumns 函数只与透视表有关。

示例 6:

研究以下的两维透视表：

![Example table image of RowNo and NoOfRows functions](https://help.qlik.com/zh-CN/qlikview/September2026/Subsystems/Client/Content/Resources/Images/ui_gen_InterRecord5_564x227.png)

示例表格：RowNo RowNo 和 NoOfRows NoOfRows 函数

| Month | Grp | RowNo() | RowNo(total) | NoOfRows() | NoOfRows(total) |
| --- | --- | --- | --- | --- | --- |
| 1 | A | 1 | 1 | 2 | 6 |
| 1 | B | 2 | 2 | 2 | 6 |
| 1 | 合计 | 0 | - | 2 | - |
| 2 | A | 1 | 3 | 2 | 6 |
| 2 | B | 2 | 4 | 2 | 6 |
| 2 | 合计 | 0 | - | 2 | - |
| 3 | A | 1 | 5 | 2 | 6 |
| 3 | B | 2 | 6 | 2 | 6 |
| 3 | 合计 | 0 | - | 2 | - |
| 合计 | - | - | 0 | - | 6 |

* 列 3RowNo 函数将在每一个排序组列片断内返回行号。在小计行，将返回行号 0，因为这些合计清楚地属于一个具体的列片断。在总和行将会返回空值。
* 带总和限定符的列 4，RowNo 函数将返回整个列内部的行号。在小计行将返回一个空值。在总和行将会返回 0。
* 列 5NoOfRows 函数将在每一个排序组列片断内返回数据行数。在小计行，与在数据行中相同的数字将会返回。在总和行将会返回空值。
* 带合计限定符的列 6，NoOfRows函数将会在整列内部返回数据行数，这与在总和行中返回的数字相同。在小计行将返回一个空值。